<p>this is a test of this as a test of the non-wrap of the wrapping <a href="wiki-link">wiki-link</a> this should not be split across lines. </p>
<hr/><p>wrap explicit link or image elements <a href="https://test">explicit non-wrap</a> <a href="wiki-link">wiki-link</a> the wrapping <img src="https://test"
                                                                                                                                              alt="explicit non-wrap"/> but the rest is fine the way to test<br/><a href="https://test">explicit non-wrap</a> rest should also not <a
    href="https://test">ref element</a> fine the way to test how the delay works to implement the delay alsdfj asldf jalsdf jal;sfd jasldf alsfd ja;sldkjf a;lsf dj this. </p>
<p>is and this test of the elimination of the delay a slj asd fl;j asdfl; jkadsfl; jkadslf fjalsdfj ladsfj fladsfj flasdf; j ala sdl jasfdl; j this is a test of how fax<em>italic</em> #, Allow strong/emphasis asdkdkf asldf lasjf als fl ljl jl l dasdfsadfsaf asdf asdfslafdjaslfkjaslfj this is a test of the way reflow works with large text blocks so that the cpu is not overloaded by it works much better than having it reflow on every character typed. This is a test if the delay can be eliminated while typing and eliminating the alsdf jalsd; fjlasdj flasdfk jthis asdf asfd asdf asldfkjas dflasj dfl kjasfl; jas;lfdj a;slfdj ;alsj fdlas jfl;as fornowwe jfdlas dfj;lasfdj ;alsdfj a;lsdkfj this is a test of how much sofar asdfsfsdaf delay is this is sadfasdfsdf caused by highlighting. alsjdflja
</p>
<ol>
  <li>asdlfj sald;fj sdafj</li>
  <li>lasdfjlsjflsjf</li>
  <li>dkdkdkdk
    <ol>
      <li>asldfjasdflasdfjaslfdj</li>
      <li>alsdfjaslf</li>
    </ol>
    <ul>
      <li>lasdjf l;asjdf sadl f</li>
    </ul>
  </li>
</ol>
<p>l jalkjsadfl; jadslf;k jsadlf;j lkfdsj l llaskjfdl;asjfadls;kj flak;sdjfdlskjasdl;kfjl;ask fjl;sdf ;lasd l;sa dfjls;a lf;s lfsd af This is laskjdfl; adfldsakjfl;kdsfj lkdf ls al;f jl;f dsal;f dsa ;fdl;sal;fdls ;kdjlsajljasdlf;jas ;lfd j;laj asl;j al;sjf aslf jl jlasjd l;asjfd l;asfj lasdjflsajfdl ;lajf al lasdkj f;alskd fjals;df fklasl; fjlsfadj </p>
<p>d adsfdf lasdk asdlfj aldsfj aldsfj lfdj lafjsd f alsfd jsadlf fljlsa fl;afd jlfj lksafj lasfjd </p>
<p>lasdjflsajdf lskdjafl;sajfl;jf ldf;as f l;sd j;ldsaf jl;dsaf jl;safdj ls;adfj lasdfj lsafdjjdjshjsdh dfasdfadsfsdaf</p>
<p>lsadfj l;safj;a lfjlas;d fjals;fd lsdfj lasdfj ldfsj lsadf fjl;asfd fjl;as fjl;afsj l;afjs fl;afs fjlasf fjldf jdlsf fjlasf ldasf fjldf jladfs fjl;adfsj l;afds fj;lafs jal;sf l;sadfj f;lsadf fj;lafd fjlfsda fjldsf jsafl;d as;fl dfs ja test of the typing speed without any wrapping. The syntax highlight delay al;sdfkjasl;df jasl;fdj asdf alsdf jalsdkj f this is tyoping speed with annotator enabled instead of lexer syntax highlig al;djfal;sdf fjlasfjd lasfdj lsadf jlsadfj falsfdj alsd;f fjaldsf l asflasj flas jl asdfl this lasjdf l akjsdfl; sdfl;as jl;sdkja fjl;sad fjl;asdf fjlas;df fjl;asdf fjalsdf jl;dsfaj asd;l fjljl;sadjf lsadfj lsadfj alsd;fj las;fj lsadfj ladsf fjlsadf jsladf jsaldf fjlsadfk jsadlf; jlsadf; fjlsadf fjsadfl fjdslf; sadf;l jsadfl; jsadf l;sajdf lsadfj sldfj sal;fdjsldfjk saldfjk aslfd jsaldf jdkasfl ;dsafk jdlsf;j asl;dfjlsdaf;jasdfl; jsadl;fj asdlf;j ljl;jk ;lj l;j la jsdlj asd flj dsflsdajk flasjkd fjldsafj l ljk sdlj kdals lasdf jlas fjlasjd fla sjflaj s flasj
  fla js flsadf f alsfd jalsd fjl;asd fj;lasfjd fl;asf fjlsadf fj asldf jasl;df jasl;df fjasl; fjas;ldf jas;ldf fals fas lflajs df jlas dfj;las j;lsadf fj;lasdfj j fl;sadf fj;lsadf fjs;ladf fal;sfd jl;asdf fjlas;df fj las;fdj ls;adf fjlsa;f fjas;ldf fjal;sdfj lsadfkj laskfj lasdf fjlasdf fjlsa;df fjal;s ffl;jasl f;j dsal ;kj fsa alsfjasl;df fjasldf fjals;f fjals;f dfjlsafdj alsdf alsfdj lasfj la;sf jlasfdj as;lfd aslf lasdflaksdf lsd alsdfjalsdfjsalfjsalfjsa alsfj l;asjf l;saj fl;asjfl;asjf al sfdjla sfjl;asdjf ls;aj fls;aj fl;saj fl;asj fls ;afl safj sal;f jslaf lsa fals;dfjk lsad;jfsa;ldf jl;asj l;asf jl;as flasfja;sl jasl;aslf jaslfd; flas;dlf fasdf;l as;lfd fjals;dfjas ;lfljas;ldf fljkdflsfdjslfj kslfjsld fjsldf jsdf sldfkj slfjdlsfj sdlfjsdflj sflsjflsfjl sfjsldfjkls dfjlsfd jslfj lllljdksakdfs akdkdkdk alsdfkjlsdfjslfdj lasdfj ls jflasf jdlsf jslf aslf alsfd alsfdj lsf jlsf jslaf jlfjslfj slfjslfjksf slfkj slfjslf jldfjslf jslfj sldkfjlsfjslf sldfj slfj slfdj lsfdjsldf llsjfdl
  sf ls fjlsf jslf jslf jsldf jslf jslfsj fdlsjf lsfj lsfj kdkskd markers to be recognized when surrounded by non-white space characters
  <strong>bold</strong><sup id="fnref-1"><a href="#fn-1" class="footnote-ref">1</a></sup> [test][] <a href="http://git">this</a>
  <strong>bold</strong> this will not reflow because it is not and now las fl asdfl;a sff;las jf;lasjf ;lsadjf ljlaslskdkdl slsldk sldkd skd how this lasfj l adjflasfj dlsafj ls;afj lasfdjla alsdfklj lasdfj aldsfj asdflasjdfl lsadjf lsadfj lsaf jls;afj as;lfjlsa flasfdj dkdksk lsdkfas;fjsl;afkjl;asjdfl;sa flsa fls;a flj fsdl; lasjdflsdfj lsdfjlsfdkjlsfdj ajls;dfj lsd;afj l;asdfj lsa;fj lsa;df dasdfsdaf dsdf sldfjsdfkjsfdlskjfd sdlflfsjflasjf s;alfj s;lfdj ;asl lsdfj ls; fd dsdskdfskfd dlasldf as alsdfj lasfj la sl sajfl safl sajf lfajf ls jfkdkdk lasfjd ;lasfj lasfk jlsa fjls fjalsfj lsfj lsaf jlsaf jlasf lsafd salfd jaslfjaslf jslfd aslfdja; lsfdj aslf jalsf jlas fjhjhjh hjhjhjhjh ljl j l;j ;ljk l;jljl;jl;jl ;lj l;j l; jljk lj l ljljljlj ljljl jl jljl j ll lj lj lj lj lj lj lj asdflkjsadfljsadf aslfjaslfj sldfjslfj alsdfjlsjf fsljflsjfslfk sfdljsldfjsflk slfdjslfd skdfj jflsfdjl ffdsljsfl s flsj fls fjlsfj lsfj lsf jslfjfjlsjfd ljf lsfkj lsfj lj khjhkhk khk hk hkhj kj hk hkh kh kh kh
  kjhkjhkjh k khk h asldfj asldfk asldfjk al;sdfk alsfd kjsalfdj lsaf las flasf djlaskfdj kdk dkdkd dkdkdl lasdfjla sdflkjasdf this is a test of how fast can asdfasdf asdlf ksdlf aslfd jalsdfk alsdf jalsfdjk this is a test of the way it is and should be. So we do nothing. dasdflasdfjalsfdj alsfd jlasfdj lasjkfd jl asdjflsjk adf
</p>
<ol>
  <li>testing this is a continuation and then some
    <ol>
      <li>sdb item with some text and we how well the elimination of delay works will see how well it works, well it does not detect tab size. <img
          src="assets/images/ScreenShot_html.png"/> this is a test
      </li>
    </ol>
  </li>
</ol><p>al afl ;asdf; asfdj; asd ;asl ddda;sld ;asl d ;als df;lasf df;lasd f f;als ff;asld f ; asldf f;asl df f;sal fdfj;sald f;aslf a ;slf </p>
<dl>
  <dt>Definition Term for testing wrapping words without having to la;df jl;asdfj l;asdfj l;asfjd l;asfjd l;asjf ;lasjf ddasdfdasdfas asdf asdf asf</dt>
  <dd>
    <p>definition 1 jal sdfjl;as ;lsajfd is a test </p></dd>
  <dd>
    <p>definition 2 sdldf aldsf alsfj a lfsd a ;slf asjf l;as jflasjd ;lasdfj kkkk kdas;df a;sldfj ;asldfj ;sldjf ;; las f;ljas ;fla jsf;las jdf;lasj f ;lasdf j;lsa a;sl f;asl dddfa fdas asdf fasdff asd fsadf fsaf sa;ldf </p>
  </dd>
  <dt>Definition terms</dt>
  <dd>
    <p>Definition a;sdlf a;lsdf j;alsdf afa asdf fasd safasdfdd dd dd ff ff ff dd 1111 s 222 j ; a k d d lads f;ladfj ;lasj f;lasj f;als asdf as fasfsa as sd fsf sadf asf safd fsaf saf asfsaf sf asfhklfh slkfh lsakfh laksf hlkas fhlkas fhklas fkas f lsadf j;alsf j ;als fd;alsdfj slafj ;lasd fasldf j aslfj asf askdf alskdf alsdkf las k df asldkf asldkfj alsf aslf lsaf a l s f aslf jaslf aslf asf fj;alsdfj </p>
  </dd>
  <dd>
    <p>test </p></dd>
  <dd>
    <p>test </p></dd>
</dl><p>dadsf sa fsaf sadf saf asf sadf sadf sad asfd asdf asdff</p><p><a href="http://git">this</a> <strong>bold</strong> this will not reflow because it is not <sup id="fnref-1"><a
    href="#fn-1" class="footnote-ref">1</a></sup> and no how this </p>
<ul>
  <li>
    <p>testing wrapping of the first paragraph to see how well it works when it overlows margins.</p></li>
  <li class="task-list-item">
    <p><input type="checkbox" class="task-list-item-checkbox" disabled="disabled"></input>dddd asf asd asd fasd fas fasf dad a sfasd fasdf asfsaf asdff as fasdf as </p></li>
</ul><p><strong>test</strong> <strong>bo<em>italic</em>ld</strong></p>
<ol>
  <li>aflas fdjl;as jf;aslf j;aslf adf dlldl ldks dksl l ;lj j lj ;l sdfsdfs dksf llll j;slafjs;alfj a;slfj ;alsfdj
    <ol>
      <li>
        <p>aflas fdjl;as &gt; jf;aslf j;aslf adf dlldl ldks dksl l ;lj j lj ;l sdfsdfs dksf llll j;slafjs;alfj a;slfj ;alsfdj</p></li>
    </ol>
  </li>
</ol>
<ul>
  <li>test item of the alsdfj lasd jflaj sdlf jasl;df j;alsdj f;lasj fd;las jfd;lasj fd</li>
</ul>
<blockquote>
  <p>a alsdfj alsf djla; las lasdj flasj f;lad j;lfas jf;las fj;lasj f;la sf a </p>
</blockquote><p>alsdfj alsf djla; las lasdj flasj f;lad j;lfas jf;las fj;lasj f;la sf </p><h3>kkk</h3>
<hr/>
<hr/>
<hr/><h2>Testing Testing testing testing</h2><h2>Test Header</h2>
<ul>
  <li>item</li>
</ul><h2>header</h2><h2>header</h2>
<ul>
  <li>this is a test item</li>
</ul><h2>head</h2><p><em>italic</em> <strong><em>bolditalic</em></strong> <strong>bold</strong></p><h3>Testing</h3>
<ul>
  <li>
    <p>block of text to be used for reflow tests this line has a hard break<br/> so this one will always start on a fresh line<br/> And so will this one.</p></li>
  <li>
    <p>test asldf lasfdj lasfd this is it and now this jlasfd slfd lasaldf asldf slfd salfj dlsafdjlasfd l;sfjdlsajf ddasf as fa sdasdf asdf aslfd aslf asl lsdkl sd aslf asldf alsd flasd flasfdkda sad sad fsdf aas fasfd asfd asdf as fasdf asdf asdf asdf sadf asdf asdf safasfsadf lasfdk </p>
  </li>
</ul>
<table>
  <thead>
  <tr>
    <th align="left">Headers, Header 1</th>
    <th align="right">Header 2</th>
    <th align="center">Header 3</th>
  </tr>
  </thead>
  <tbody>
  <tr>
    <td align="left">testing 1 2 3 works much better than</td>
    <td align="right">this is it</td>
    <td align="center">and</td>
  </tr>
  <tr>
    <td align="left">testing and now this seems to be doing much better</td>
    <td align="right">right</td>
    <td align="center">center</td>
  </tr>
  <tr>
    <td align="left">dasdfsdfaf adsf sadf</td>
    <td align="right">this is a test</td>
    <td align="center"></td>
  </tr>
  <tr>
    <td align="left"></td>
    <td align="right"></td>
    <td align="center"></td>
  </tr>
  </tbody>
</table><h1>idea-multimarkdown</h1><p>idea-multimarkdown plugin provides <strong><a href="http://daringfireball.net/projects/markdown">Markdown</a> language support for <a
    href="http://www.jetbrains.com/idea">IntelliJ IDEA</a>, <a href="http://www.jetbrains.com/ruby">RubyMine</a>, <a href="http://www.jetbrains.com/phpstorm">PhpStorm</a>, <a
    href="http://www.jetbrains.com/webstorm">WebStorm</a>, <a href="http://www.jetbrains.com/pycharm">PyCharm</a>, <a href="http://www.jetbrains.com/objc">AppCode</a>, <a
    href="http://developer.android.com/sdk/installing/studio.html">Android Studio</a>, <a href="https://www.jetbrains.com/clion">CLion</a> and <a
    href="https://www.jetbrains.com/datagrip">DataGrip</a>.</strong></p><p><strong>You can download it on the <a
    href="https://plugins.jetbrains.com/plugin?pr=&pluginId=7896">JetBrains plugin page</a>.</strong></p>
<p>The aim of this plugin is to be able to generate a preview that it is as close as possible to how the page will look on GitHub but do it with more IntelliJ environment intelligence to make editing and maintaining markdown documents easier. Developing with pleasure is only half the job. Real projects need to be documented. This plugin wants to extend the pleasure principle to the inevitable documentation part of the project. </p>
<p>GitHub may recognize variants of Markdown syntax that this plugin will not and vice versa. This is due to the parser differences and the fact that GitHub has a few syntax modifications that conflict with original Markdown spec. This plugin uses
  <a href="http://pegdown.org">pegdown</a> library by <a href="https://github.com/sirthias">sirthias</a> with a few extensions added to make the rendering of GFM more faithful.
</p><p><strong>For any communications requiring a reply</strong> please use the <a
    href="../../issues">GitHub Issues page</a> for this plugin. There is no ability to reply to comments left on the <a
    href="https://plugins.jetbrains.com/plugin/writeComment?pr=&pluginId=7896">JetBrains plugin comment and rate page</a>. </p><p><strong><a
    href="../../wiki">Wiki</a> added</strong> with instructions on how to include your <a
    href="../../wiki/Adding-GitHub-Wiki-to-IntelliJ-Project">GitHub wiki in IntelliJ IDE</a> so you can work on the wiki in the IDE and use the plugin for syntax highlighting,preview, link completions and validation. This makes adding images and manipulating the wiki a lot easier.
</p><h4>Two tier model of the plugin</h4>
<ol>
  <li>
    <p>Previewing and syntax highlighting functionality is available in the Basic open source edition. Intended for mostly previewing markdown documents. Wiki link refactoring and completions are also available in the basic edition to ease the task of wiki maintenance.</p>
  </li>
  <li>
    <p>Advanced features used for creating and maintaining markdown documents such as split editor, refactoring, find usages, validation, auto formatting and HTML page customizations are only available in the Enhanced licensed version. 30-day free trial licenses are available from
      <a href="http://vladsch.com/product/multimarkdown">idea-multimarkdown</a> page on my website. </p></li>
</ol><p><img src="/assets/images/capabilities.png" alt="Capabilities"/></p><h3>Updating of the source</h3>
<p>There was much code churn in the enhanced version and I have not had time to merge them into the open source version. Initially when most of the differences were limited to a few files it easy to keep them separated and sync the rest. Now, with major preferences and settings re-work, directory layout changes and new features, the differences have spread out where keeping them in sync is a major effort. I started factoring out the enhanced only changes to separate files so that future synchronization of the two branches can be less time consuming. </p>
<p>I am part way through the task but the formatting wound up being much more intricate than I imagined and it is not leaving me much time to make updates to latest version. I will address it as soon as I have the formatting functionality complete. </p>
<h2>Latest Developments: Version 1.4.5</h2><p>For a full list see the <a href="resources/META-INF/VERSION.md">Version Notes</a></p><h4>Format and Wrap on Edit</h4>
<ul>
  <li>As you type formatting for setext header marker equalization and matching atx trailing markers</li>
  <li>Smart bold/italic doubling</li>
  <li>Syntax highlight for markdown hard break, two spaces before at the end of line that has a continuation.</li>
</ul><h5>new Enhanced Edition features</h5>
<ul>
  <li>Editor Code Style for Markdown, for now only the format on edit options are implemented</li>
  <li>Wrap on typing for text blocks, footnotes, list items, definitions with options to align continuation lines:
    <ul>
      <li>to first line's text (defaults)</li>
      <li>no indent</li>
      <li>indent 1 level</li>
      <li>indent 2 levels</li>
    </ul>
  </li>
  <li>Format as you type for tables with options for:
    <ul>
      <li>align column widths</li>
      <li>align column text to reflect column's actual alignment</li>
      <li>add/remove opening and closing pipes on each row</li>
      <li>add/remove padding spaces around pipes and this is a test</li>
      <li>add/remove/leave left alignment column header marker</li>
    </ul>
    <p>Here is what it looks like with all options enabled: </p>
    <p><img src="/assets/images/TableAutoFormat.gif" alt="Table Auto Format"/></p>
  </li>
</ul><h2>Latest Developments: Version 1.4.4</h2><h4>Bug Fix Release</h4>
<ul>
  <li>Fix: #153, #154, #155</li>
  <li>Fix: settings forms not always disposed</li>
  <li>Change: References that have reference images referencing them, will have link address completion defaulting to image files</li>
</ul><h2>Latest Developments: Version 1.4.3</h2><h4>Minor Improvements &amp; Bug Fixes</h4>
<ul>
  <li>GitHub issue # completions added in plain text and <code>issues/</code> link</li>
  <li>Option to view GitHub page in preview if the document was committed and has not been modified.</li>
  <li>Added more elements to code folding and added configuration for collapse by default in settings/preferences</li>
  <li>Improved link completions and added changing of completion addressing format by repeated invocations of the completion action</li>
</ul><h4>File Move Refactoring added in 1.4.2</h4>
<ul>
  <li>Implemented refactoring of links contained in the file being moved. Link format is preserved, wiki links will be changed to explicit links if the file is moved out of the wiki directory.</li>
  <li><strong>To Keep your links in sync</strong> use rename refactoring for:
    <ul>
      <li>link addresses</li>
      <li>anchor references and header text</li>
      <li>references and reference links</li>
    </ul>
  </li>
  <li>Intentions implemented to replace annotator quick fixes. Now intentions can be individually disabled and no more weak warning highlighting just to get the quick fix to show up.</li>
</ul><h3>Still Great GitHub Rendering Resemblance for your preview pleasure</h3><h5>One of the images is idea-multimarkdown preview, the other of same file on GitHub:</h5><p><img
    src="/assets/images/ScreenShot_jfx_webview.png" alt="Screen Shot Jfx WebView"/></p><h2>Plugins that are a great compliment to idea-multimarkdown</h2><p><a
    href="https://github.com/anton-dev-ua/PipeTableFormatter">Pipe Table Formatter</a> A plugin that is great for formatting markdown tables. I use to pretty up the tables in markdown and find it a great compliment to idea-multimarkdown.
</p><p><a
    href="http://hsz.mobi">.gitignore</a> to add .gitignore file brains to the IDE and allows idea-multimarkdown to show files and links to files that will only resolve locally because they are not under git vcs.
</p><h2>The Background</h2><p>It all started with a desire to see Markdown files in PhpStorm IDE as they would look on GitHub. I was already using <a
    href="https://github.com/nicoulaj/idea-markdown">nicoulaj/idea-markdown plugin</a> but found its preview was more like <a
    href="http://montreal.en.craigslist.ca/">Craig's List</a> than <a
    href="https://github.com/vsch/laravel-translation-manager">GitHub</a>. It did not appear to have been recently updated, so I decided to fork it and modify the style sheet it uses. How hard could that be?
</p>
<p>I found out quickly that there was more to it than meets the eye. Rendering is done by Java not a browser, the parser is HTML 3.1 and not all features are implemented. Additionally, the Table extension did not work in the version of
  <code>pegdown</code> used by the plugin. I needed that because maintaining HTML tables is a pain. So I upgraded the plugin to use the latest <code>pegdown</code>,
  <code>parboiled</code> and fixed a few bugs. Since I was already in the code, I might as well add a few more desired features like user editable style sheet, fix a few more bugs, add updates to preview so that I could split the editor pane and edit in one while seeing the preview in the other.
</p><p>Then I encountered some bugs in parsing of compound nested lists in
  <code>pegdown</code> and had to dive into its source to fix them. Having done that and gotten familiar with it, I decided to add a new extension. Finally, to help me with debugging and generating test expectations for
  <code>pegdown</code>, I had to have the HTML Text tab to display the generated HTML. </p>
<p>It has been a fun trip down the rabbit hole of IntelliJ IDEA plugin development that started with a simple desire for a Markdown preview that looked like GitHub's. </p>
<h2>Screenshots</h2><p><img src="/assets/images/ScreenShot_source_preview.png" alt="idea-multimarkdown-source"/></p><h3>Split your editors and see the preview as you type</h3><p>
  <img src="/assets/images/ScreenShot_preview.png" alt="idea-multimarkdown"/></p><h3>Peek at the HTML</h3><p><img src="/assets/images/ScreenShot_peek_html.png"
                                                                                                                  alt="idea-multimarkdown-settings"/></p><h4>Change options, ss customize the syntax colors and CSS to your liking.</h4><p><img
    src="/assets/images/ScreenShot_settings_intentions.png" alt="Screen Shot Settings Intentions"/></p><p><img src="/assets/images/ScreenShot_settings_color.png"
                                                                                                               alt="Screen Shot Settings Color"/></p><p><img src="/assets/images/ScreenShot_settings_markdown.png" alt="Screen Shot Settings Markdown"/></p><p><img
    src="/assets/images/ScreenShot_settings_parser.png" alt="Screen Shot Settings Parser"/></p><p><img src="/assets/images/ScreenShot_settings_css.png"
                                                                                                       alt="Screen Shot Settings Css"/></p><p><img src="/assets/images/ScreenShot_settings_html.png" alt="Screen Shot Settings Html"/></p><h2>Forking</h2>
<p>This plugin is using a modified version of <a
    href="https://github.com/sirthias">sirthias</a>, I post my PR's but there is always a delay in both generating them and for them to be merged. </p>
<p>I added a few changes and extensions to the parser. For now I am using my forked copy until the official version has all the features. </p>
<p>The pegdown source used in this plugin can be found <a href="https://github.com/vsch/pegdown/tree/develop">vsch/pegdown</a>. </p>
<hr/><p>* This plugin is based on the <a href="https://github.com/nicoulaj/idea-markdown">nicoulaj/idea-markdown plugin</a> by <a
    href="https://github.com/nicoulaj">nicoulaj</a>, which is based on <a href="http://pegdown.org">pegdown</a> library by <a href="https://github.com/sirthias">sirthias</a>.
</p>
<p>a slj asd fl;j asdfl; jkadsfl; jkadslf fjalsdfj ladsfj fladsfj flasdf; j ala sdl jasfdl; j this is a test of how fax<em>italic</em> #, Allow strong/emphasis asdkdkf asldf lasjf als fl ljl jl l dasdfsadfsaf asdf asdfslafdjaslfkjaslfj this is a test of the way reflow works with large text blocks so that the cpu is not overloaded by it works much better than having it reflow on every character typed. al;djfal;sdf fjlasfjd lasfdj lsadf jlsadfj falsfdj alsd;f fjaldsf l asflasj flas jl asdfl this lasjdf l akjsdfl; sdfl;as jl;sdkja fjl;sad fjl;asdf fjlas;df fjl;asdf fjalsdf jl;dsfaj asd;l fjljl;sadjf lsadfj lsadfj alsd;fj las;fj lsadfj ladsf fjlsadf jsladf jsaldf fjlsadfk jsadlf; jlsadf; fjlsadf fjsadfl fjdslf; sadf;l jsadfl; jsadf l;sajdf lsadfj sldfj sal;fdjsldfjk saldfjk aslfd jsaldf jdkasfl ;dsafk jdlsf;j asl;dfjlsdaf;jasdfl; jsadl;fj asdlf;j ljl;jk ;lj l;j la jsdlj asd flj dsflsdajk flasjkd fjldsafj l ljk sdlj kdals lasdf jlas fjlasjd fla sjflaj s flasj fla js flsadf f alsfd jalsd
  fjl;asd fj;lasfjd fl;asf fjlsadf fj asldf jasl;df jasl;df fjasl; fjas;ldf jas;ldf fals fas lflajs df jlas dfj;las j;lsadf fj;lasdfj j fl;sadf fj;lsadf fjs;ladf fal;sfd jl;asdf fjlas;df fj las;fdj ls;adf fjlsa;f fjas;ldf fjal;sdfj lsadfkj laskfj lasdf fjlasdf fjlsa;df fjal;s ffl;jasl f;j dsal ;kj fsa alsfjasl;df fjasldf fjals;f fjals;f dfjlsafdj alsdf alsfdj lasfj la;sf jlasfdj as;lfd aslf lasdflaksdf lsd alsdfjalsdfjsalfjsalfjsa alsfj l;asjf l;saj fl;asjfl;asjf al sfdjla sfjl;asdjf ls;aj fls;aj fl;saj fl;asj fls ;afl safj sal;f jslaf lsa fals;dfjk lsad;jfsa;ldf jl;asj l;asf jl;as flasfja;sl jasl;aslf jaslfd; flas;dlf fasdf;l as;lfd fjals;dfjas ;lfljas;ldf fljkdflsfdjslfj kslfjsld fjsldf jsdf sldfkj slfjdlsfj sdlfjsdflj sflsjflsfjl sfjsldfjkls dfjlsfd jslfj lllljdksakdfs akdkdkdk alsdfkjlsdfjslfdj lasdfj ls jflasf jdlsf jslf aslf alsfd alsfdj lsf jlsf jslaf jlfjslfj slfjslfjksf slfkj slfjslf jldfjslf jslfj sldkfjlsfjslf sldfj slfj slfdj lsfdjsldf llsjfdl sf ls fjlsf jslf jslf jsldf
  jslf jslfsj fdlsjf lsfj lsfj kdkskd markers to be recognized when surrounded by non-white space characters
  <strong>bold</strong><sup id="fnref-1"><a href="#fn-1" class="footnote-ref">1</a></sup> [test][] <a href="http://git">this</a>
  <strong>bold</strong> this will not reflow because it is not and now las fl asdfl;a sff;las jf;lasjf ;lsadjf ljlaslskdkdl slsldk sldkd skd how this lasfj l adjflasfj dlsafj ls;afj lasfdjla alsdfklj lasdfj aldsfj asdflasjdfl lsadjf lsadfj lsaf jls;afj as;lfjlsa flasfdj dkdksk lsdkfas;fjsl;afkjl;asjdfl;sa flsa fls;a flj fsdl; lasjdflsdfj lsdfjlsfdkjlsfdj ajls;dfj lsd;afj l;asdfj lsa;fj lsa;df dasdfsdaf dsdf sldfjsdfkjsfdlskjfd sdlflfsjflasjf s;alfj s;lfdj ;asl lsdfj ls; fd dsdskdfskfd dlasldf as alsdfj lasfj la sl sajfl safl sajf lfajf ls jfkdkdk lasfjd ;lasfj lasfk jlsa fjls fjalsfj lsfj lsaf jlsaf jlasf lsafd salfd jaslfjaslf jslfd aslfdja; lsfdj aslf jalsf jlas fjhjhjh hjhjhjhjh ljl j l;j ;ljk l;jljl;jl;jl ;lj l;j l; jljk lj l ljljljlj ljljl jl jljl j ll lj lj lj lj lj lj lj asdflkjsadfljsadf aslfjaslfj sldfjslfj alsdfjlsjf fsljflsjfslfk sfdljsldfjsflk slfdjslfd skdfj jflsfdjl ffdsljsfl s flsj fls fjlsfj lsfj lsf jslfjfjlsjfd ljf lsfkj lsfj lj khjhkhk khk hk hkhj kj hk hkh kh kh kh
  kjhkjhkjh k khk h
</p>
<ol>
  <li>testing this is a continuation and then some
    <ol>
      <li>sub item with some text and we will see how well it works, well it does not detect tab size.</li>
    </ol>
  </li>
</ol><p>al afl ;asdf; asfdj; asd ;asl a;sld ;asl d ;als df;lasf df;lasd f f;als ff;asld f ; asldf f;asl df f;sal fdfj;sald f;aslf a ;slf </p>
<dl>
  <dt>Definition Term for testing wrapping words without having to la;df jl;asdfj l;asdfj l;asfjd l;asfjd l;asjf ;lasjf ddasdfdasdfas asdf asdf asf</dt>
  <dd>
    <p>definition 1 jal sdfjl;as ;lsajfd is a test </p></dd>
  <dd>
    <p>definition 2 sdldf aldsf alsfj a lfsd a ;slf asjf l;as jflasjd ;lasdfj kkkk kdas;df a;sldfj ;asldfj ;sldjf ;; las f;ljas ;fla jsf;las jdf;lasj f ;lasdf j;lsa a;sl f;asl dddfa fdas asdf<br/> fasdff asd fsadf fsaf sa;ldf
    </p></dd>
  <dt>Definition term</dt>
  <dd>Definition a;sdlf a;lsdf j;alsdf afa asdf fasd safasdfdd dd dd ff ff ff dd 1111 s 222 j ; a k d d lads f;ladfj ;lasj f;lasj f;als asdf as fasfsa as sd fsf sadf asf safd fsaf saf asfsaf sf asfhklfh slkfh lsakfh laksf hlkas fhlkas fhklas fkas f<br/> lsadf j;alsf j ;als fd;alsdfj slafj ;lasd fasldf j aslfj asf askdf alskdf alsdkf las k df asldkf asldkfj alsf aslf lsaf a l s f aslf jaslf aslf asf fj;alsdfj
  </dd>
  <dd>
    <p>test </p></dd>
  <dd>
    <p>test </p></dd>
</dl><p>dadsf sa fsaf sadf saf asf sadf sadf sad asfd asdf asdff </p><p><a href="http://git">this</a> <strong>bold</strong> this will not reflow because it is not <sup
    id="fnref-1"><a href="#fn-1" class="footnote-ref">1</a></sup> and no how this </p>
<ul>
  <li>
    <p>testing wrapping of the first paragraph to see how well it works when it overlows margins.</p></li>
  <li class="task-list-item">
    <p><input type="checkbox" class="task-list-item-checkbox" disabled="disabled"></input>dddd asf asd asd fasd fas fasf dad a sfasd fasdf asfsaf asdff as fasdf as </p></li>
</ul><p><strong>test</strong> <strong>bo<em>italic</em>ld</strong></p>
<ol>
  <li>aflas fdjl;as jf;aslf j;aslf adf dlldl ldks dksl l ;lj j lj ;l sdfsdfs dksf llll j;slafjs;alfj a;slfj ;alsfdj
    <ol>
      <li>
        <p>aflas fdjl;as &gt; jf;aslf j;aslf adf dlldl ldks dksl l ;lj j lj ;l sdfsdfs dksf llll j;slafjs;alfj a;slfj ;alsfdj</p></li>
    </ol>
  </li>
</ol>
<ul>
  <li>test item of the alsdfj lasd jflaj sdlf jasl;df j;alsdj f;lasj fd;las jfd;lasj fd</li>
</ul>
<blockquote>
  <p>a alsdfj alsf djla; las lasdj flasj f;lad j;lfas jf;las fj;lasj f;la sf a </p>
</blockquote><p>alsdfj alsf djla; las lasdj flasj f;lad j;lfas jf;las fj;lasj f;la sf </p><h3>kkk</h3>
<hr/>
<hr/>
<hr/><h2>Testing testing testing</h2><h2>Test Header</h2>
<ul>
  <li>item</li>
</ul><h2>header</h2><h2>header</h2>
<ul>
  <li>item</li>
</ul><h2>head</h2><p><em>italic</em> <strong><em>bolditalic</em></strong> <strong>bold</strong></p><h3>Testing</h3>
<ul>
  <li>
    <p>block of text to be used for reflow tests this line has a hard break<br/> so this one will always start on a fresh line<br/> And so will this one.</p></li>
  <li>
    <p>test asldf lasfdj lasfd this is it and now this jlasfd slfd lasaldf asldf slfd salfj dlsafdjlasfd l;sfjdlsajf ddasf as fa sdasdf asdf aslfd aslf asl lsdkl sd aslf asldf alsd flasd flasfdkda sad sad fsdf aas fasfd asfd asdf as fasdf asdf asdf asdf sadf asdf asdf safasfsadf lasfdk </p>
  </li>
</ul>
<table>
  <thead>
  <tr>
    <th align="left">Headers, Header 1</th>
    <th align="right">Header 2</th>
    <th align="center">Header 3</th>
  </tr>
  </thead>
  <tbody>
  <tr>
    <td align="left">testing 1 2 3 works much better than</td>
    <td align="right">this is it</td>
    <td align="center">and</td>
  </tr>
  <tr>
    <td align="left">testing and now this seems to be doing much better</td>
    <td align="right">right</td>
    <td align="center">center</td>
  </tr>
  <tr>
    <td align="left">dasdfsdfaf adsf sadf</td>
    <td align="right">this is a test</td>
    <td align="center"></td>
  </tr>
  <tr>
    <td align="left"></td>
    <td align="right"></td>
    <td align="center"></td>
  </tr>
  </tbody>
</table><h1>idea-multimarkdown</h1><p>idea-multimarkdown plugin provides <strong><a href="http://daringfireball.net/projects/markdown">Markdown</a> language support for <a
    href="http://www.jetbrains.com/idea">IntelliJ IDEA</a>, <a href="http://www.jetbrains.com/ruby">RubyMine</a>, <a href="http://www.jetbrains.com/phpstorm">PhpStorm</a>, <a
    href="http://www.jetbrains.com/webstorm">WebStorm</a>, <a href="http://www.jetbrains.com/pycharm">PyCharm</a>, <a href="http://www.jetbrains.com/objc">AppCode</a>, <a
    href="http://developer.android.com/sdk/installing/studio.html">Android Studio</a>, <a href="https://www.jetbrains.com/clion">CLion</a> and <a
    href="https://www.jetbrains.com/datagrip">DataGrip</a>.</strong></p><p><strong>You can download it on the <a
    href="https://plugins.jetbrains.com/plugin?pr=&pluginId=7896">JetBrains plugin page</a>.</strong></p>
<p>The aim of this plugin is to be able to generate a preview that it is as close as possible to how the page will look on GitHub but do it with more IntelliJ environment intelligence to make editing and maintaining markdown documents easier. Developing with pleasure is only half the job. Real projects need to be documented. This plugin wants to extend the pleasure principle to the inevitable documentation part of the project. </p>
<p>GitHub may recognize variants of Markdown syntax that this plugin will not and vice versa. This is due to the parser differences and the fact that GitHub has a few syntax modifications that conflict with original Markdown spec. This plugin uses
  <a href="http://pegdown.org">pegdown</a> library by <a href="https://github.com/sirthias">sirthias</a> with a few extensions added to make the rendering of GFM more faithful.
</p><p><strong>For any communications requiring a reply</strong> please use the<br/><a
    href="../../issues">GitHub Issues page</a> for this plugin. There is no ability to reply to comments left on the <a
    href="https://plugins.jetbrains.com/plugin/writeComment?pr=&pluginId=7896">JetBrains plugin comment and rate page</a>. </p><p><strong><a
    href="../../wiki">Wiki</a> added</strong> with instructions on how to include your <a
    href="../../wiki/Adding-GitHub-Wiki-to-IntelliJ-Project">GitHub wiki in IntelliJ IDE</a> so you can work on the wiki in the IDE and use the plugin for syntax highlighting,preview, link completions and validation. This makes adding images and manipulating the wiki a lot easier.
</p><h4>Two tier model of the plugin</h4>
<ol>
  <li>
    <p>Previewing and syntax highlighting functionality is available in the Basic open source edition. Intended for mostly previewing markdown documents. Wiki link refactoring and completions are also available in the basic edition to ease the task of wiki maintenance.</p>
  </li>
  <li>
    <p>Advanced features used for creating and maintaining markdown documents such as split editor, refactoring, find usages, validation, auto formatting and HTML page customizations are only available in the Enhanced licensed version. 30-day free trial licenses are available from
      <a href="http://vladsch.com/product/multimarkdown">idea-multimarkdown</a> page on my website. </p></li>
</ol><p><img src="/assets/images/capabilities.png" alt="Capabilities"/></p><h3>Updating of the source</h3>
<p>There was much code churn in the enhanced version and I have not had time to merge them into the open source version. Initially when most of the differences were limited to a few files it easy to keep them separated and sync the rest. Now, with major preferences and settings re-work, directory layout changes and new features, the differences have spread out where keeping them in sync is a major effort. I started factoring out the enhanced only changes to separate files so that future synchronization of the two branches can be less time consuming. </p>
<p>I am part way through the task but the formatting wound up being much more intricate than I imagined and it is not leaving me much time to make updates to latest version. I will address it as soon as I have the formatting functionality complete. </p>
<h2>Latest Developments: Version 1.4.5</h2><p>For a full list see the <a href="resources/META-INF/VERSION.md">Version Notes</a></p><h4>Format and Wrap on Edit</h4>
<ul>
  <li>As you type formatting for setext header marker equalization and matching atx trailing markers</li>
  <li>Smart bold/italic doubling</li>
  <li>Syntax highlight for markdown hard break, two spaces before at the end of line that has a continuation.</li>
</ul><h5>new Enhanced Edition features</h5>
<ul>
  <li>Editor Code Style for Markdown, for now only the format on edit options are implemented</li>
  <li>Wrap on typing for text blocks, footnotes, list items, definitions with options to align continuation lines:
    <ul>
      <li>to first line's text (default)</li>
      <li>no indent</li>
      <li>indent 1 level</li>
      <li>indent 2 levels</li>
    </ul>
  </li>
  <li>Format as you type for tables with options for:
    <ul>
      <li>align column widths</li>
      <li>align column text to reflect column's actual alignment</li>
      <li>add/remove opening and closing pipes on each row</li>
      <li>add/remove padding spaces around pipes</li>
      <li>add/remove/leave left alignment column header marker</li>
    </ul>
    <p>Here is what it looks like with all options enabled: </p>
    <p><img src="/assets/images/TableAutoFormat.gif" alt="Table Auto Format"/></p>
  </li>
</ul><h2>Latest Developments: Version 1.4.4</h2><h4>Bug Fix Release</h4>
<ul>
  <li>Fix: #153, #154, #155</li>
  <li>Fix: settings forms not always disposed</li>
  <li>Change: References that have reference images referencing them, will have link address completion defaulting to image files</li>
</ul><h2>Latest Developments: Version 1.4.3</h2><h4>Minor Improvements &amp; Bug Fixes</h4>
<ul>
  <li>GitHub issue # completions added in plain text and <code>issues/</code> link</li>
  <li>Option to view GitHub page in preview if the document was committed and has not been modified.</li>
  <li>Added more elements to code folding and added configuration for collapse by default in settings/preferences</li>
  <li>Improved link completions and added changing of completion addressing format by repeated invocations of the completion action</li>
</ul><h4>File Move Refactoring added in 1.4.2</h4>
<ul>
  <li>Implemented refactoring of links contained in the file being moved. Link format is preserved, wiki links will be changed to explicit links if the file is moved out of the wiki directory.</li>
  <li><strong>To Keep your links in sync</strong> use rename refactoring for:
    <ul>
      <li>link addresses</li>
      <li>anchor references and header text</li>
      <li>references and reference links</li>
    </ul>
  </li>
  <li>Intentions implemented to replace annotator quick fixes. Now intentions can be individually disabled and no more weak warning highlighting just to get the quick fix to show up.</li>
</ul><h3>Still Great GitHub Rendering Resemblance for your preview pleasure</h3><h5>One of the images is idea-multimarkdown preview, the other of same file on GitHub:</h5><p><img
    src="/assets/images/ScreenShot_jfx_webview.png" alt="Screen Shot Jfx WebView"/></p><h2>Plugins that are a great compliment to idea-multimarkdown</h2><p><a
    href="https://github.com/anton-dev-ua/PipeTableFormatter">Pipe Table Formatter</a> A plugin that is great for formatting markdown tables. I use to pretty up the tables in markdown and find it a great compliment to idea-multimarkdown.
</p><p><a
    href="http://hsz.mobi">.gitignore</a> to add .gitignore file brains to the IDE and allows idea-multimarkdown to show files and links to files that will only resolve locally because they are not under git vcs.
</p><h2>The Background</h2><p>It all started with a desire to see Markdown files in PhpStorm IDE as they would look on GitHub. I was already using<br/><a
    href="https://github.com/nicoulaj/idea-markdown">nicoulaj/idea-markdown plugin</a> but found its preview was more like<br/><a
    href="http://montreal.en.craigslist.ca/">Craig's List</a> than <a
    href="https://github.com/vsch/laravel-translation-manager">GitHub</a>. It did not appear to have been recently updated, so I decided to fork it and modify the style sheet it uses. How hard could that be?
</p>
<p>I found out quickly that there was more to it than meets the eye. Rendering is done by Java not a browser, the parser is HTML 3.1 and not all features are implemented. Additionally, the Table extension did not work in the version of
  <code>pegdown</code> used by the plugin. I needed that because maintaining HTML tables is a pain. So I upgraded the plugin to use the latest <code>pegdown</code>,
  <code>parboiled</code> and fixed a few bugs. Since I was already in the code, I might as well add a few more desired features like user editable style sheet, fix a few more bugs, add updates to preview so that I could split the editor pane and edit in one while seeing the preview in the other.
</p><p>Then I encountered some bugs in parsing of compound nested lists in
  <code>pegdown</code> and had to dive into its source to fix them. Having done that and gotten familiar with it, I decided to add a new extension. Finally, to help me with debugging and generating test expectations for
  <code>pegdown</code>, I had to have the HTML Text tab to display the generated HTML. </p>
<p>It has been a fun trip down the rabbit hole of IntelliJ IDEA plugin development that started with a simple desire for a Markdown preview that looked like GitHub's. </p>
<h2>Screenshots</h2><p><img src="/assets/images/ScreenShot_source_preview.png" alt="idea-multimarkdown-source"/></p><h3>Split your editor and see the preview as you type</h3><p>
  <img src="/assets/images/ScreenShot_preview.png" alt="idea-multimarkdown"/></p><h3>Peek at the HTML</h3><p><img src="/assets/images/ScreenShot_peek_html.png"
                                                                                                                  alt="idea-multimarkdown-settings"/></p><h4>Change options, customize the syntax colors and CSS to your liking.</h4><p><img
    src="/assets/images/ScreenShot_settings_intentions.png" alt="Screen Shot Settings Intentions"/></p><p><img src="/assets/images/ScreenShot_settings_color.png"
                                                                                                               alt="Screen Shot Settings Color"/></p><p><img src="/assets/images/ScreenShot_settings_markdown.png" alt="Screen Shot Settings Markdown"/></p><p><img
    src="/assets/images/ScreenShot_settings_parser.png" alt="Screen Shot Settings Parser"/></p><p><img src="/assets/images/ScreenShot_settings_css.png"
                                                                                                       alt="Screen Shot Settings Css"/></p><p><img src="/assets/images/ScreenShot_settings_html.png" alt="Screen Shot Settings Html"/></p><h2>Forking</h2>
<p>This plugin is using a modified version of <a
    href="https://github.com/sirthias">sirthias</a>, I post my PR's but there is always a delay in both generating them and for them to be merged. </p>
<p>I added a few changes and extensions to the parser. For now I am using my forked copy until the official version has all the features. </p>
<p>The pegdown source used in this plugin can be found <a href="https://github.com/vsch/pegdown/tree/develop">vsch/pegdown</a>. </p>
<hr/><p>* This plugin is based on the <a href="https://github.com/nicoulaj/idea-markdown">nicoulaj/idea-markdown plugin</a> by <a
    href="https://github.com/nicoulaj">nicoulaj</a>, which is based on <a href="http://pegdown.org">pegdown</a> library by <a href="https://github.com/sirthias">sirthias</a>.
</p>
<p>a slj asd fl;j asdfl; jkadsfl; jkadslf fjalsdfj ladsfj fladsfj flasdf; j ala sdl jasfdl; j this is a test of how fax<em>italic</em> #, Allow strong/emphasis asdkdkf asldf lasjf als fl ljl jl l dasdfsadfsaf asdf asdfslafdjaslfkjaslfj this is a test of the way reflow works with large text blocks so that the cpu is not overloaded by it works much better than having it reflow on every character typed. al;djfal;sdf fjlasfjd lasfdj lsadf jlsadfj falsfdj alsd;f fjaldsf l asflasj flas jl asdfl this lasjdf l akjsdfl; sdfl;as jl;sdkja fjl;sad fjl;asdf fjlas;df fjl;asdf fjalsdf jl;dsfaj asd;l fjljl;sadjf lsadfj lsadfj alsd;fj las;fj lsadfj ladsf fjlsadf jsladf jsaldf fjlsadfk jsadlf; jlsadf; fjlsadf fjsadfl fjdslf; sadf;l jsadfl; jsadf l;sajdf lsadfj sldfj sal;fdjsldfjk saldfjk aslfd jsaldf jdkasfl ;dsafk jdlsf;j asl;dfjlsdaf;jasdfl; jsadl;fj asdlf;j ljl;jk ;lj l;j la jsdlj asd flj dsflsdajk flasjkd fjldsafj l ljk sdlj kdals lasdf jlas fjlasjd fla sjflaj s flasj fla js flsadf f alsfd jalsd
  fjl;asd fj;lasfjd fl;asf fjlsadf fj asldf jasl;df jasl;df fjasl; fjas;ldf jas;ldf fals fas lflajs df jlas dfj;las j;lsadf fj;lasdfj j fl;sadf fj;lsadf fjs;ladf fal;sfd jl;asdf fjlas;df fj las;fdj ls;adf fjlsa;f fjas;ldf fjal;sdfj lsadfkj laskfj lasdf fjlasdf fjlsa;df fjal;s ffl;jasl f;j dsal ;kj fsa alsfjasl;df fjasldf fjals;f fjals;f dfjlsafdj alsdf alsfdj lasfj la;sf jlasfdj as;lfd aslf lasdflaksdf lsd alsdfjalsdfjsalfjsalfjsa alsfj l;asjf l;saj fl;asjfl;asjf al sfdjla sfjl;asdjf ls;aj fls;aj fl;saj fl;asj fls ;afl safj sal;f jslaf lsa fals;dfjk lsad;jfsa;ldf jl;asj l;asf jl;as flasfja;sl jasl;aslf jaslfd; flas;dlf fasdf;l as;lfd fjals;dfjas ;lfljas;ldf fljkdflsfdjslfj kslfjsld fjsldf jsdf sldfkj slfjdlsfj sdlfjsdflj sflsjflsfjl sfjsldfjkls dfjlsfd jslfj lllljdksakdfs akdkdkdk alsdfkjlsdfjslfdj lasdfj ls jflasf jdlsf jslf aslf alsfd alsfdj lsf jlsf jslaf jlfjslfj slfjslfjksf slfkj slfjslf jldfjslf jslfj sldkfjlsfjslf sldfj slfj slfdj lsfdjsldf llsjfdl sf ls fjlsf jslf jslf jsldf
  jslf jslfsj fdlsjf lsfj lsfj kdkskd markers to be recognized when surrounded by non-white space characters
  <strong>bold</strong><sup id="fnref-1"><a href="#fn-1" class="footnote-ref">1</a></sup> [test][] <a href="http://git">this</a>
  <strong>bold</strong> this will not reflow because it is not and now las fl asdfl;a sff;las jf;lasjf ;lsadjf ljlaslskdkdl slsldk sldkd skd how this lasfj l adjflasfj dlsafj ls;afj lasfdjla alsdfklj lasdfj aldsfj asdflasjdfl lsadjf lsadfj lsaf jls;afj as;lfjlsa flasfdj dkdksk lsdkfas;fjsl;afkjl;asjdfl;sa flsa fls;a flj fsdl; lasjdflsdfj lsdfjlsfdkjlsfdj ajls;dfj lsd;afj l;asdfj lsa;fj lsa;df dasdfsdaf dsdf sldfjsdfkjsfdlskjfd sdlflfsjflasjf s;alfj s;lfdj ;asl lsdfj ls; fd dsdskdfskfd dlasldf as alsdfj lasfj la sl sajfl safl sajf lfajf ls jfkdkdk lasfjd ;lasfj lasfk jlsa fjls fjalsfj lsfj lsaf jlsaf jlasf lsafd salfd jaslfjaslf jslfd aslfdja; lsfdj aslf jalsf jlas fjhjhjh hjhjhjhjh ljl j l;j ;ljk l;jljl;jl;jl ;lj l;j l; jljk lj l ljljljlj ljljl jl jljl j ll lj lj lj lj lj lj lj asdflkjsadfljsadf aslfjaslfj sldfjslfj alsdfjlsjf fsljflsjfslfk sfdljsldfjsflk slfdjslfd skdfj jflsfdjl ffdsljsfl s flsj fls fjlsfj lsfj lsf jslfjfjlsjfd ljf lsfkj lsfj lj khjhkhk khk hk hkhj kj hk hkh kh kh kh
  kjhkjhkjh k khk h
</p>
<ol>
  <li>testing this is a continuation and then some
    <ol>
      <li>sub item with some text and we will see how well it works, well it does not detect tab size.</li>
    </ol>
  </li>
</ol><p>al afl ;asdf; asfdj; asd ;asl a;sld ;asl d ;als df;lasf df;lasd f f;als ff;asld f ; asldf f;asl df f;sal fdfj;sald f;aslf a ;slf </p>
<dl>
  <dt>Definition Term for testing wrapping words without having to la;df jl;asdfj l;asdfj l;asfjd l;asfjd l;asjf ;lasjf ddasdfdasdfas asdf asdf asf</dt>
  <dd>
    <p>definition 1 jal sdfjl;as ;lsajfd is a test </p></dd>
  <dd>
    <p>definition 2 sdldf aldsf alsfj a lfsd a ;slf asjf l;as jflasjd ;lasdfj kkkk kdas;df a;sldfj ;asldfj ;sldjf ;; las f;ljas ;fla jsf;las jdf;lasj f ;lasdf j;lsa a;sl f;asl dddfa fdas asdf<br/> fasdff asd fsadf fsaf sa;ldf
    </p></dd>
  <dt>Definition term</dt>
  <dd>Definition a;sdlf a;lsdf j;alsdf afa asdf fasd safasdfdd dd dd ff ff ff dd 1111 s 222 j ; a k d d lads<br/> f;ladfj ;lasj f;lasj f;als asdf as fasfsa as sd fsf sadf asf safd fsaf saf asfsaf sf asfhklfh slkfh lsakfh laksf hlkas fhlkas fhklas fkas f<br/> lsadf j;alsf j ;als fd;alsdfj slafj ;lasd fasldf j aslfj asf askdf alskdf alsdkf las k df asldkf asldkfj alsf aslf lsaf a l s f aslf jaslf aslf asf fj;alsdfj
  </dd>
  <dd>
    <p>test </p></dd>
  <dd>
    <p>test </p></dd>
</dl><p>dadsf sa fsaf sadf saf asf sadf sadf sad asfd asdf asdff </p><p><a href="http://git">this</a> <strong>bold</strong> this will not reflow because it is not <sup
    id="fnref-1"><a href="#fn-1" class="footnote-ref">1</a></sup> and no how this </p>
<ul>
  <li>
    <p>testing wrapping of the first paragraph to see how well it works when it overlows margins.</p></li>
  <li class="task-list-item">
    <p><input type="checkbox" class="task-list-item-checkbox" disabled="disabled"></input>dddd asf asd asd fasd fas fasf dad a sfasd fasdf asfsaf asdff as fasdf as </p></li>
</ul><p><strong>test</strong> <strong>bo<em>italic</em>ld</strong></p>
<ol>
  <li>aflas fdjl;as jf;aslf j;aslf adf dlldl ldks dksl l ;lj j lj ;l sdfsdfs dksf llll j;slafjs;alfj a;slfj ;alsfdj
    <ol>
      <li>
        <p>aflas fdjl;as &gt; jf;aslf j;aslf adf dlldl ldks dksl l ;lj j lj ;l sdfsdfs dksf llll j;slafjs;alfj a;slfj ;alsfdj</p></li>
    </ol>
  </li>
</ol>
<ul>
  <li>test item of the alsdfj lasd jflaj sdlf jasl;df j;alsdj f;lasj fd;las jfd;lasj fd</li>
</ul>
<blockquote>
  <p>a alsdfj alsf djla; las lasdj flasj f;lad j;lfas jf;las fj;lasj f;la sf a </p>
</blockquote><p>alsdfj alsf djla; las lasdj flasj f;lad j;lfas jf;las fj;lasj f;la sf </p><h3>kkk</h3>
<hr/>
<hr/>
<hr/><h2>Testing testing testing</h2><h2>Test Header</h2>
<ul>
  <li>item</li>
</ul><h2>header</h2><h2>header</h2>
<ul>
  <li>item</li>
</ul><h2>head</h2><p><em>italic</em> <strong><em>bolditalic</em></strong> <strong>bold</strong></p><h3>Testing</h3>
<ul>
  <li>
    <p>block of text to be used for reflow tests this line has a hard break<br/> so this one will always start on a fresh line<br/> And so will this one.</p></li>
  <li>
    <p>test asldf lasfdj lasfd this is it and now this jlasfd slfd lasaldf asldf slfd salfj dlsafdjlasfd l;sfjdlsajf ddasf as fa sdasdf asdf aslfd aslf asl lsdkl sd aslf asldf alsd flasd flasfdkda sad sad fsdf aas fasfd asfd asdf as fasdf asdf asdf asdf sadf asdf asdf safasfsadf lasfdk </p>
  </li>
</ul>
<table>
  <thead>
  <tr>
    <th align="left">Headers, Header 1</th>
    <th align="right">Header 2</th>
    <th align="center">Header 3</th>
  </tr>
  </thead>
  <tbody>
  <tr>
    <td align="left">testing 1 2 3 works much better than</td>
    <td align="right">this is it</td>
    <td align="center">and</td>
  </tr>
  <tr>
    <td align="left">testing and now this seems to be doing much better</td>
    <td align="right">right</td>
    <td align="center">center</td>
  </tr>
  <tr>
    <td align="left">dasdfsdfaf adsf sadf</td>
    <td align="right">this is a test</td>
    <td align="center"></td>
  </tr>
  <tr>
    <td align="left"></td>
    <td align="right"></td>
    <td align="center"></td>
  </tr>
  </tbody>
</table><h1>idea-multimarkdown</h1><p>idea-multimarkdown plugin provides <strong><a href="http://daringfireball.net/projects/markdown">Markdown</a> language support for <a
    href="http://www.jetbrains.com/idea">IntelliJ IDEA</a>, <a href="http://www.jetbrains.com/ruby">RubyMine</a>, <a href="http://www.jetbrains.com/phpstorm">PhpStorm</a>, <a
    href="http://www.jetbrains.com/webstorm">WebStorm</a>, <a href="http://www.jetbrains.com/pycharm">PyCharm</a>, <a href="http://www.jetbrains.com/objc">AppCode</a>, <a
    href="http://developer.android.com/sdk/installing/studio.html">Android Studio</a>, <a href="https://www.jetbrains.com/clion">CLion</a> and <a
    href="https://www.jetbrains.com/datagrip">DataGrip</a>.</strong></p><p><strong>You can download it on the <a
    href="https://plugins.jetbrains.com/plugin?pr=&pluginId=7896">JetBrains plugin page</a>.</strong></p>
<p>The aim of this plugin is to be able to generate a preview that it is as close as possible to how the page will look on GitHub but do it with more IntelliJ environment intelligence to make editing and maintaining markdown documents easier. Developing with pleasure is only half the job. Real projects need to be documented. This plugin wants to extend the pleasure principle to the inevitable documentation part of the project. </p>
<p>GitHub may recognize variants of Markdown syntax that this plugin will not and vice versa. This is due to the parser differences and the fact that GitHub has a few syntax modifications that conflict with original Markdown spec. This plugin uses
  <a href="http://pegdown.org">pegdown</a> library by <a href="https://github.com/sirthias">sirthias</a> with a few extensions added to make the rendering of GFM more faithful.
</p><p><strong>For any communications requiring a reply</strong> please use the<br/><a
    href="../../issues">GitHub Issues page</a> for this plugin. There is no ability to reply to comments left on the <a
    href="https://plugins.jetbrains.com/plugin/writeComment?pr=&pluginId=7896">JetBrains plugin comment and rate page</a>. </p><p><strong><a
    href="../../wiki">Wiki</a> added</strong> with instructions on how to include your <a
    href="../../wiki/Adding-GitHub-Wiki-to-IntelliJ-Project">GitHub wiki in IntelliJ IDE</a> so you can work on the wiki in the IDE and use the plugin for syntax highlighting,preview, link completions and validation. This makes adding images and manipulating the wiki a lot easier.
</p><h4>Two tier model of the plugin</h4>
<ol>
  <li>
    <p>Previewing and syntax highlighting functionality is available in the Basic open source edition. Intended for mostly previewing markdown documents. Wiki link refactoring and completions are also available in the basic edition to ease the task of wiki maintenance.</p>
  </li>
  <li>
    <p>Advanced features used for creating and maintaining markdown documents such as split editor, refactoring, find usages, validation, auto formatting and HTML page customizations are only available in the Enhanced licensed version. 30-day free trial licenses are available from
      <a href="http://vladsch.com/product/multimarkdown">idea-multimarkdown</a> page on my website. </p></li>
</ol><p><img src="/assets/images/capabilities.png" alt="Capabilities"/></p><h3>Updating of the source</h3>
<p>There was much code churn in the enhanced version and I have not had time to merge them into the open source version. Initially when most of the differences were limited to a few files it easy to keep them separated and sync the rest. Now, with major preferences and settings re-work, directory layout changes and new features, the differences have spread out where keeping them in sync is a major effort. I started factoring out the enhanced only changes to separate files so that future synchronization of the two branches can be less time consuming. </p>
<p>I am part way through the task but the formatting wound up being much more intricate than I imagined and it is not leaving me much time to make updates to latest version. I will address it as soon as I have the formatting functionality complete. </p>
<h2>Latest Developments: Version 1.4.5</h2><p>For a full list see the <a href="resources/META-INF/VERSION.md">Version Notes</a></p><h4>Format and Wrap on Edit</h4>
<ul>
  <li>As you type formatting for setext header marker equalization and matching atx trailing markers</li>
  <li>Smart bold/italic doubling</li>
  <li>Syntax highlight for markdown hard break, two spaces before at the end of line that has a continuation.</li>
</ul><h5>new Enhanced Edition features</h5>
<ul>
  <li>Editor Code Style for Markdown, for now only the format on edit options are implemented</li>
  <li>Wrap on typing for text blocks, footnotes, list items, definitions with options to align continuation lines:
    <ul>
      <li>to first line's text (default)</li>
      <li>no indent</li>
      <li>indent 1 level</li>
      <li>indent 2 levels</li>
    </ul>
  </li>
  <li>Format as you type for tables with options for:
    <ul>
      <li>align column widths</li>
      <li>align column text to reflect column's actual alignment</li>
      <li>add/remove opening and closing pipes on each row</li>
      <li>add/remove padding spaces around pipes</li>
      <li>add/remove/leave left alignment column header marker</li>
    </ul>
    <p>Here is what it looks like with all options enabled: </p>
    <p><img src="/assets/images/TableAutoFormat.gif" alt="Table Auto Format"/></p>
  </li>
</ul><h2>Latest Developments: Version 1.4.4</h2><h4>Bug Fix Release</h4>
<ul>
  <li>Fix: #153, #154, #155</li>
  <li>Fix: settings forms not always disposed</li>
  <li>Change: References that have reference images referencing them, will have link address completion defaulting to image files</li>
</ul><h2>Latest Developments: Version 1.4.3</h2><h4>Minor Improvements &amp; Bug Fixes</h4>
<ul>
  <li>GitHub issue # completions added in plain text and <code>issues/</code> link</li>
  <li>Option to view GitHub page in preview if the document was committed and has not been modified.</li>
  <li>Added more elements to code folding and added configuration for collapse by default in settings/preferences</li>
  <li>Improved link completions and added changing of completion addressing format by repeated invocations of the completion action</li>
</ul><h4>File Move Refactoring added in 1.4.2</h4>
<ul>
  <li>Implemented refactoring of links contained in the file being moved. Link format is preserved, wiki links will be changed to explicit links if the file is moved out of the wiki directory.</li>
  <li><strong>To Keep your links in sync</strong> use rename refactoring for:
    <ul>
      <li>link addresses</li>
      <li>anchor references and header text</li>
      <li>references and reference links</li>
    </ul>
  </li>
  <li>Intentions implemented to replace annotator quick fixes. Now intentions can be individually disabled and no more weak warning highlighting just to get the quick fix to show up.</li>
</ul><h3>Still Great GitHub Rendering Resemblance for your preview pleasure</h3><h5>One of the images is idea-multimarkdown preview, the other of same file on GitHub:</h5><p><img
    src="/assets/images/ScreenShot_jfx_webview.png" alt="Screen Shot Jfx WebView"/></p><h2>Plugins that are a great compliment to idea-multimarkdown</h2><p><a
    href="https://github.com/anton-dev-ua/PipeTableFormatter">Pipe Table Formatter</a> A plugin that is great for formatting markdown tables. I use to pretty up the tables in markdown and find it a great compliment to idea-multimarkdown.
</p><p><a
    href="http://hsz.mobi">.gitignore</a> to add .gitignore file brains to the IDE and allows idea-multimarkdown to show files and links to files that will only resolve locally because they are not under git vcs.
</p><h2>The Background</h2><p>It all started with a desire to see Markdown files in PhpStorm IDE as they would look on GitHub. I was already using<br/><a
    href="https://github.com/nicoulaj/idea-markdown">nicoulaj/idea-markdown plugin</a> but found its preview was more like<br/><a
    href="http://montreal.en.craigslist.ca/">Craig's List</a> than <a
    href="https://github.com/vsch/laravel-translation-manager">GitHub</a>. It did not appear to have been recently updated, so I decided to fork it and modify the style sheet it uses. How hard could that be?
</p>
<p>I found out quickly that there was more to it than meets the eye. Rendering is done by Java not a browser, the parser is HTML 3.1 and not all features are implemented. Additionally, the Table extension did not work in the version of
  <code>pegdown</code> used by the plugin. I needed that because maintaining HTML tables is a pain. So I upgraded the plugin to use the latest <code>pegdown</code>,
  <code>parboiled</code> and fixed a few bugs. Since I was already in the code, I might as well add a few more desired features like user editable style sheet, fix a few more bugs, add updates to preview so that I could split the editor pane and edit in one while seeing the preview in the other.
</p><p>Then I encountered some bugs in parsing of compound nested lists in
  <code>pegdown</code> and had to dive into its source to fix them. Having done that and gotten familiar with it, I decided to add a new extension. Finally, to help me with debugging and generating test expectations for
  <code>pegdown</code>, I had to have the HTML Text tab to display the generated HTML. </p>
<p>It has been a fun trip down the rabbit hole of IntelliJ IDEA plugin development that started with a simple desire for a Markdown preview that looked like GitHub's. </p>
<h2>Screenshots</h2><p><img src="/assets/images/ScreenShot_source_preview.png" alt="idea-multimarkdown-source"/></p><h3>Split your editor and see the preview as you type</h3><p>
  <img src="/assets/images/ScreenShot_preview.png" alt="idea-multimarkdown"/></p><h3>Peek at the HTML</h3><p><img src="/assets/images/ScreenShot_peek_html.png"
                                                                                                                  alt="idea-multimarkdown-settings"/></p><h4>Change options, customize the syntax colors and CSS to your liking.</h4><p><img
    src="/assets/images/ScreenShot_settings_intentions.png" alt="Screen Shot Settings Intentions"/></p><p><img src="/assets/images/ScreenShot_settings_color.png"
                                                                                                               alt="Screen Shot Settings Color"/></p><p><img src="/assets/images/ScreenShot_settings_markdown.png" alt="Screen Shot Settings Markdown"/></p><p><img
    src="/assets/images/ScreenShot_settings_parser.png" alt="Screen Shot Settings Parser"/></p><p><img src="/assets/images/ScreenShot_settings_css.png"
                                                                                                       alt="Screen Shot Settings Css"/></p><p><img src="/assets/images/ScreenShot_settings_html.png" alt="Screen Shot Settings Html"/></p><h2>Forking</h2>
<p>This plugin is using a modified version of <a
    href="https://github.com/sirthias">sirthias</a>, I post my PR's but there is always a delay in both generating them and for them to be merged. </p>
<p>I added a few changes and extensions to the parser. For now I am using my forked copy until the official version has all the features. </p>
<p>The pegdown source used in this plugin can be found <a href="https://github.com/vsch/pegdown/tree/develop">vsch/pegdown</a>. </p>
<hr/><p>* This plugin is based on the <a href="https://github.com/nicoulaj/idea-markdown">nicoulaj/idea-markdown plugin</a> by <a
    href="https://github.com/nicoulaj">nicoulaj</a>, which is based on <a href="http://pegdown.org">pegdown</a> library by <a href="https://github.com/sirthias">sirthias</a>.
</p>
<p>a slj asd fl;j asdfl; jkadsfl; jkadslf fjalsdfj ladsfj fladsfj flasdf; j ala sdl jasfdl; j this is a test of how fax<em>italic</em> #, Allow strong/emphasis asdkdkf asldf lasjf als fl ljl jl l dasdfsadfsaf asdf asdfslafdjaslfkjaslfj this is a test of the way reflow works with large text blocks so that the cpu is not overloaded by it works much better than having it reflow on every character typed. al;djfal;sdf fjlasfjd lasfdj lsadf jlsadfj falsfdj alsd;f fjaldsf l asflasj flas jl asdfl this lasjdf l akjsdfl; sdfl;as jl;sdkja fjl;sad fjl;asdf fjlas;df fjl;asdf fjalsdf jl;dsfaj asd;l fjljl;sadjf lsadfj lsadfj alsd;fj las;fj lsadfj ladsf fjlsadf jsladf jsaldf fjlsadfk jsadlf; jlsadf; fjlsadf fjsadfl fjdslf; sadf;l jsadfl; jsadf l;sajdf lsadfj sldfj sal;fdjsldfjk saldfjk aslfd jsaldf jdkasfl ;dsafk jdlsf;j asl;dfjlsdaf;jasdfl; jsadl;fj asdlf;j ljl;jk ;lj l;j la jsdlj asd flj dsflsdajk flasjkd fjldsafj l ljk sdlj kdals lasdf jlas fjlasjd fla sjflaj s flasj fla js flsadf f alsfd jalsd
  fjl;asd fj;lasfjd fl;asf fjlsadf fj asldf jasl;df jasl;df fjasl; fjas;ldf jas;ldf fals fas lflajs df jlas dfj;las j;lsadf fj;lasdfj j fl;sadf fj;lsadf fjs;ladf fal;sfd jl;asdf fjlas;df fj las;fdj ls;adf fjlsa;f fjas;ldf fjal;sdfj lsadfkj laskfj lasdf fjlasdf fjlsa;df fjal;s ffl;jasl f;j dsal ;kj fsa alsfjasl;df fjasldf fjals;f fjals;f dfjlsafdj alsdf alsfdj lasfj la;sf jlasfdj as;lfd aslf lasdflaksdf lsd alsdfjalsdfjsalfjsalfjsa alsfj l;asjf l;saj fl;asjfl;asjf al sfdjla sfjl;asdjf ls;aj fls;aj fl;saj fl;asj fls ;afl safj sal;f jslaf lsa fals;dfjk lsad;jfsa;ldf jl;asj l;asf jl;as flasfja;sl jasl;aslf jaslfd; flas;dlf fasdf;l as;lfd fjals;dfjas ;lfljas;ldf fljkdflsfdjslfj kslfjsld fjsldf jsdf sldfkj slfjdlsfj sdlfjsdflj sflsjflsfjl sfjsldfjkls dfjlsfd jslfj lllljdksakdfs akdkdkdk alsdfkjlsdfjslfdj lasdfj ls jflasf jdlsf jslf aslf alsfd alsfdj lsf jlsf jslaf jlfjslfj slfjslfjksf slfkj slfjslf jldfjslf jslfj sldkfjlsfjslf sldfj slfj slfdj lsfdjsldf llsjfdl sf ls fjlsf jslf jslf jsldf
  jslf jslfsj fdlsjf lsfj lsfj kdkskd markers to be recognized when surrounded by non-white space characters
  <strong>bold</strong><sup id="fnref-1"><a href="#fn-1" class="footnote-ref">1</a></sup> [test][] <a href="http://git">this</a>
  <strong>bold</strong> this will not reflow because it is not and now las fl asdfl;a sff;las jf;lasjf ;lsadjf ljlaslskdkdl slsldk sldkd skd how this lasfj l adjflasfj dlsafj ls;afj lasfdjla alsdfklj lasdfj aldsfj asdflasjdfl lsadjf lsadfj lsaf jls;afj as;lfjlsa flasfdj dkdksk lsdkfas;fjsl;afkjl;asjdfl;sa flsa fls;a flj fsdl; lasjdflsdfj lsdfjlsfdkjlsfdj ajls;dfj lsd;afj l;asdfj lsa;fj lsa;df dasdfsdaf dsdf sldfjsdfkjsfdlskjfd sdlflfsjflasjf s;alfj s;lfdj ;asl lsdfj ls; fd dsdskdfskfd dlasldf as alsdfj lasfj la sl sajfl safl sajf lfajf ls jfkdkdk lasfjd ;lasfj lasfk jlsa fjls fjalsfj lsfj lsaf jlsaf jlasf lsafd salfd jaslfjaslf jslfd aslfdja; lsfdj aslf jalsf jlas fjhjhjh hjhjhjhjh ljl j l;j ;ljk l;jljl;jl;jl ;lj l;j l; jljk lj l ljljljlj ljljl jl jljl j ll lj lj lj lj lj lj lj asdflkjsadfljsadf aslfjaslfj sldfjslfj alsdfjlsjf fsljflsjfslfk sfdljsldfjsflk slfdjslfd skdfj jflsfdjl ffdsljsfl s flsj fls fjlsfj lsfj lsf jslfjfjlsjfd ljf lsfkj lsfj lj khjhkhk khk hk hkhj kj hk hkh kh kh kh
  kjhkjhkjh k khk h
</p>
<ol>
  <li>testing this is a continuation and then some
    <ol>
      <li>sub item with some text and we will see how well it works, well it does not detect tab size.</li>
    </ol>
  </li>
</ol><p>al afl ;asdf; asfdj; asd ;asl a;sld ;asl d ;als df;lasf df;lasd f f;als ff;asld f ; asldf f;asl df f;sal fdfj;sald f;aslf a ;slf </p>
<dl>
  <dt>Definition Term for testing wrapping words without having to la;df jl;asdfj l;asdfj l;asfjd l;asfjd l;asjf ;lasjf ddasdfdasdfas asdf asdf asf</dt>
  <dd>
    <p>definition 1 jal sdfjl;as ;lsajfd is a test </p></dd>
  <dd>
    <p>definition 2 sdldf aldsf alsfj a lfsd a ;slf asjf l;as jflasjd ;lasdfj kkkk kdas;df a;sldfj ;asldfj ;sldjf ;; las f;ljas ;fla jsf;las jdf;lasj f ;lasdf j;lsa a;sl f;asl dddfa fdas asdf<br/> fasdff asd fsadf fsaf sa;ldf
    </p></dd>
  <dt>Definition term</dt>
  <dd>Definition a;sdlf a;lsdf j;alsdf afa asdf fasd safasdfdd dd dd ff ff ff dd 1111 s 222 j ; a k d d lads<br/> f;ladfj ;lasj f;lasj f;als asdf as fasfsa as sd fsf sadf asf safd fsaf saf asfsaf sf asfhklfh slkfh lsakfh laksf hlkas fhlkas fhklas fkas f<br/> lsadf j;alsf j ;als fd;alsdfj slafj ;lasd fasldf j aslfj asf askdf alskdf alsdkf las k df asldkf asldkfj alsf aslf lsaf a l s f aslf jaslf aslf asf fj;alsdfj
  </dd>
  <dd>
    <p>test </p></dd>
  <dd>
    <p>test </p></dd>
</dl><p>dadsf sa fsaf sadf saf asf sadf sadf sad asfd asdf asdff </p><p><a href="http://git">this</a> <strong>bold</strong> this will not reflow because it is not <sup
    id="fnref-1"><a href="#fn-1" class="footnote-ref">1</a></sup> and no how this </p>
<ul>
  <li>
    <p>testing wrapping of the first paragraph to see how well it works when it overlows margins.</p></li>
  <li class="task-list-item">
    <p><input type="checkbox" class="task-list-item-checkbox" disabled="disabled"></input>dddd asf asd asd fasd fas fasf dad a sfasd fasdf asfsaf asdff as fasdf as </p></li>
</ul><p><strong>test</strong> <strong>bo<em>italic</em>ld</strong></p>
<ol>
  <li>aflas fdjl;as jf;aslf j;aslf adf dlldl ldks dksl l ;lj j lj ;l sdfsdfs dksf llll j;slafjs;alfj a;slfj ;alsfdj
    <ol>
      <li>
        <p>aflas fdjl;as &gt; jf;aslf j;aslf adf dlldl ldks dksl l ;lj j lj ;l sdfsdfs dksf llll j;slafjs;alfj a;slfj ;alsfdj</p></li>
    </ol>
  </li>
</ol>
<ul>
  <li>test item of the alsdfj lasd jflaj sdlf jasl;df j;alsdj f;lasj fd;las jfd;lasj fd</li>
</ul>
<blockquote>
  <p>a alsdfj alsf djla; las lasdj flasj f;lad j;lfas jf;las fj;lasj f;la sf a </p>
</blockquote><p>alsdfj alsf djla; las lasdj flasj f;lad j;lfas jf;las fj;lasj f;la sf </p><h3>kkk</h3>
<hr/>
<hr/>
<hr/><h2>Testing testing testing</h2><h2>Test Header</h2>
<ul>
  <li>item</li>
</ul><h2>header</h2><h2>header</h2>
<ul>
  <li>item</li>
</ul><h2>head</h2><p><em>italic</em> <strong><em>bolditalic</em></strong> <strong>bold</strong></p><h3>Testing</h3>
<ul>
  <li>
    <p>block of text to be used for reflow tests this line has a hard break<br/> so this one will always start on a fresh line<br/> And so will this one.</p></li>
  <li>
    <p>test asldf lasfdj lasfd this is it and now this jlasfd slfd lasaldf asldf slfd salfj dlsafdjlasfd l;sfjdlsajf ddasf as fa sdasdf asdf aslfd aslf asl lsdkl sd aslf asldf alsd flasd flasfdkda sad sad fsdf aas fasfd asfd asdf as fasdf asdf asdf asdf sadf asdf asdf safasfsadf lasfdk </p>
  </li>
</ul>
<table>
  <thead>
  <tr>
    <th align="left">Headers, Header 1</th>
    <th align="right">Header 2</th>
    <th align="center">Header 3</th>
  </tr>
  </thead>
  <tbody>
  <tr>
    <td align="left">testing 1 2 3 works much better than</td>
    <td align="right">this is it</td>
    <td align="center">and</td>
  </tr>
  <tr>
    <td align="left">testing and now this seems to be doing much better</td>
    <td align="right">right</td>
    <td align="center">center</td>
  </tr>
  <tr>
    <td align="left">dasdfsdfaf adsf sadf</td>
    <td align="right">this is a test</td>
    <td align="center"></td>
  </tr>
  <tr>
    <td align="left"></td>
    <td align="right"></td>
    <td align="center"></td>
  </tr>
  </tbody>
</table><h1>idea-multimarkdown</h1><p>idea-multimarkdown plugin provides <strong><a href="http://daringfireball.net/projects/markdown">Markdown</a> language support for <a
    href="http://www.jetbrains.com/idea">IntelliJ IDEA</a>, <a href="http://www.jetbrains.com/ruby">RubyMine</a>, <a href="http://www.jetbrains.com/phpstorm">PhpStorm</a>, <a
    href="http://www.jetbrains.com/webstorm">WebStorm</a>, <a href="http://www.jetbrains.com/pycharm">PyCharm</a>, <a href="http://www.jetbrains.com/objc">AppCode</a>, <a
    href="http://developer.android.com/sdk/installing/studio.html">Android Studio</a>, <a href="https://www.jetbrains.com/clion">CLion</a> and <a
    href="https://www.jetbrains.com/datagrip">DataGrip</a>.</strong></p><p><strong>You can download it on the <a
    href="https://plugins.jetbrains.com/plugin?pr=&pluginId=7896">JetBrains plugin page</a>.</strong></p>
<p>The aim of this plugin is to be able to generate a preview that it is as close as possible to how the page will look on GitHub but do it with more IntelliJ environment intelligence to make editing and maintaining markdown documents easier. Developing with pleasure is only half the job. Real projects need to be documented. This plugin wants to extend the pleasure principle to the inevitable documentation part of the project. </p>
<p>GitHub may recognize variants of Markdown syntax that this plugin will not and vice versa. This is due to the parser differences and the fact that GitHub has a few syntax modifications that conflict with original Markdown spec. This plugin uses
  <a href="http://pegdown.org">pegdown</a> library by <a href="https://github.com/sirthias">sirthias</a> with a few extensions added to make the rendering of GFM more faithful.
</p><p><strong>For any communications requiring a reply</strong> please use the<br/><a
    href="../../issues">GitHub Issues page</a> for this plugin. There is no ability to reply to comments left on the <a
    href="https://plugins.jetbrains.com/plugin/writeComment?pr=&pluginId=7896">JetBrains plugin comment and rate page</a>. </p><p><strong><a
    href="../../wiki">Wiki</a> added</strong> with instructions on how to include your <a
    href="../../wiki/Adding-GitHub-Wiki-to-IntelliJ-Project">GitHub wiki in IntelliJ IDE</a> so you can work on the wiki in the IDE and use the plugin for syntax highlighting,preview, link completions and validation. This makes adding images and manipulating the wiki a lot easier.
</p><h4>Two tier model of the plugin</h4>
<ol>
  <li>
    <p>Previewing and syntax highlighting functionality is available in the Basic open source edition. Intended for mostly previewing markdown documents. Wiki link refactoring and completions are also available in the basic edition to ease the task of wiki maintenance.</p>
  </li>
  <li>
    <p>Advanced features used for creating and maintaining markdown documents such as split editor, refactoring, find usages, validation, auto formatting and HTML page customizations are only available in the Enhanced licensed version. 30-day free trial licenses are available from
      <a href="http://vladsch.com/product/multimarkdown">idea-multimarkdown</a> page on my website. </p></li>
</ol><p><img src="/assets/images/capabilities.png" alt="Capabilities"/></p><h3>Updating of the source</h3>
<p>There was much code churn in the enhanced version and I have not had time to merge them into the open source version. Initially when most of the differences were limited to a few files it easy to keep them separated and sync the rest. Now, with major preferences and settings re-work, directory layout changes and new features, the differences have spread out where keeping them in sync is a major effort. I started factoring out the enhanced only changes to separate files so that future synchronization of the two branches can be less time consuming. </p>
<p>I am part way through the task but the formatting wound up being much more intricate than I imagined and it is not leaving me much time to make updates to latest version. I will address it as soon as I have the formatting functionality complete. </p>
<h2>Latest Developments: Version 1.4.5</h2><p>For a full list see the <a href="resources/META-INF/VERSION.md">Version Notes</a></p><h4>Format and Wrap on Edit</h4>
<ul>
  <li>As you type formatting for setext header marker equalization and matching atx trailing markers</li>
  <li>Smart bold/italic doubling</li>
  <li>Syntax highlight for markdown hard break, two spaces before at the end of line that has a continuation.</li>
</ul><h5>new Enhanced Edition features</h5>
<ul>
  <li>Editor Code Style for Markdown, for now only the format on edit options are implemented</li>
  <li>Wrap on typing for text blocks, footnotes, list items, definitions with options to align continuation lines:
    <ul>
      <li>to first line's text (default)</li>
      <li>no indent</li>
      <li>indent 1 level</li>
      <li>indent 2 levels</li>
    </ul>
  </li>
  <li>Format as you type for tables with options for:
    <ul>
      <li>align column widths</li>
      <li>align column text to reflect column's actual alignment</li>
      <li>add/remove opening and closing pipes on each row</li>
      <li>add/remove padding spaces around pipes</li>
      <li>add/remove/leave left alignment column header marker</li>
    </ul>
    <p>Here is what it looks like with all options enabled: </p>
    <p><img src="/assets/images/TableAutoFormat.gif" alt="Table Auto Format"/></p>
  </li>
</ul><h2>Latest Developments: Version 1.4.4</h2><h4>Bug Fix Release</h4>
<ul>
  <li>Fix: #153, #154, #155</li>
  <li>Fix: settings forms not always disposed</li>
  <li>Change: References that have reference images referencing them, will have link address completion defaulting to image files</li>
</ul><h2>Latest Developments: Version 1.4.3</h2><h4>Minor Improvements &amp; Bug Fixes</h4>
<ul>
  <li>GitHub issue # completions added in plain text and <code>issues/</code> link</li>
  <li>Option to view GitHub page in preview if the document was committed and has not been modified.</li>
  <li>Added more elements to code folding and added configuration for collapse by default in settings/preferences</li>
  <li>Improved link completions and added changing of completion addressing format by repeated invocations of the completion action</li>
</ul><h4>File Move Refactoring added in 1.4.2</h4>
<ul>
  <li>Implemented refactoring of links contained in the file being moved. Link format is preserved, wiki links will be changed to explicit links if the file is moved out of the wiki directory.</li>
  <li><strong>To Keep your links in sync</strong> use rename refactoring for:
    <ul>
      <li>link addresses</li>
      <li>anchor references and header text</li>
      <li>references and reference links</li>
    </ul>
  </li>
  <li>Intentions implemented to replace annotator quick fixes. Now intentions can be individually disabled and no more weak warning highlighting just to get the quick fix to show up.</li>
</ul><h3>Still Great GitHub Rendering Resemblance for your preview pleasure</h3><h5>One of the images is idea-multimarkdown preview, the other of same file on GitHub:</h5><p><img
    src="/assets/images/ScreenShot_jfx_webview.png" alt="Screen Shot Jfx WebView"/></p><h2>Plugins that are a great compliment to idea-multimarkdown</h2><p><a
    href="https://github.com/anton-dev-ua/PipeTableFormatter">Pipe Table Formatter</a> A plugin that is great for formatting markdown tables. I use to pretty up the tables in markdown and find it a great compliment to idea-multimarkdown.
</p><p><a
    href="http://hsz.mobi">.gitignore</a> to add .gitignore file brains to the IDE and allows idea-multimarkdown to show files and links to files that will only resolve locally because they are not under git vcs.
</p><h2>The Background</h2><p>It all started with a desire to see Markdown files in PhpStorm IDE as they would look on GitHub. I was already using<br/><a
    href="https://github.com/nicoulaj/idea-markdown">nicoulaj/idea-markdown plugin</a> but found its preview was more like<br/><a
    href="http://montreal.en.craigslist.ca/">Craig's List</a> than <a
    href="https://github.com/vsch/laravel-translation-manager">GitHub</a>. It did not appear to have been recently updated, so I decided to fork it and modify the style sheet it uses. How hard could that be?
</p>
<p>I found out quickly that there was more to it than meets the eye. Rendering is done by Java not a browser, the parser is HTML 3.1 and not all features are implemented. Additionally, the Table extension did not work in the version of
  <code>pegdown</code> used by the plugin. I needed that because maintaining HTML tables is a pain. So I upgraded the plugin to use the latest <code>pegdown</code>,
  <code>parboiled</code> and fixed a few bugs. Since I was already in the code, I might as well add a few more desired features like user editable style sheet, fix a few more bugs, add updates to preview so that I could split the editor pane and edit in one while seeing the preview in the other.
</p><p>Then I encountered some bugs in parsing of compound nested lists in
  <code>pegdown</code> and had to dive into its source to fix them. Having done that and gotten familiar with it, I decided to add a new extension. Finally, to help me with debugging and generating test expectations for
  <code>pegdown</code>, I had to have the HTML Text tab to display the generated HTML. </p>
<p>It has been a fun trip down the rabbit hole of IntelliJ IDEA plugin development that started with a simple desire for a Markdown preview that looked like GitHub's. </p>
<h2>Screenshots</h2><p><img src="/assets/images/ScreenShot_source_preview.png" alt="idea-multimarkdown-source"/></p><h3>Split your editor and see the preview as you type</h3><p>
  <img src="/assets/images/ScreenShot_preview.png" alt="idea-multimarkdown"/></p><h3>Peek at the HTML</h3><p><img src="/assets/images/ScreenShot_peek_html.png"
                                                                                                                  alt="idea-multimarkdown-settings"/></p><h4>Change options, customize the syntax colors and CSS to your liking.</h4><p><img
    src="/assets/images/ScreenShot_settings_intentions.png" alt="Screen Shot Settings Intentions"/></p><p><img src="/assets/images/ScreenShot_settings_color.png"
                                                                                                               alt="Screen Shot Settings Color"/></p><p><img src="/assets/images/ScreenShot_settings_markdown.png" alt="Screen Shot Settings Markdown"/></p><p><img
    src="/assets/images/ScreenShot_settings_parser.png" alt="Screen Shot Settings Parser"/></p><p><img src="/assets/images/ScreenShot_settings_css.png"
                                                                                                       alt="Screen Shot Settings Css"/></p><p><img src="/assets/images/ScreenShot_settings_html.png" alt="Screen Shot Settings Html"/></p><h2>Forking</h2>
<p>This plugin is using a modified version of <a
    href="https://github.com/sirthias">sirthias</a>, I post my PR's but there is always a delay in both generating them and for them to be merged. </p>
<p>I added a few changes and extensions to the parser. For now I am using my forked copy until the official version has all the features. </p>
<p>The pegdown source used in this plugin can be found <a href="https://github.com/vsch/pegdown/tree/develop">vsch/pegdown</a>. </p>
<hr/><p>* This plugin is based on the <a href="https://github.com/nicoulaj/idea-markdown">nicoulaj/idea-markdown plugin</a> by <a
    href="https://github.com/nicoulaj">nicoulaj</a>, which is based on <a href="http://pegdown.org">pegdown</a> library by <a href="https://github.com/sirthias">sirthias</a>.
</p><p>lasdfj l;asdfj lasdfjlsad;fjlfj l afla </p>
<div class="footnotes">
  <hr/>
  <ol>
    <li id="fn-1"><p>footnote wrappable text lasdf lasd jf;las fd asdlf asldf a;lsd f;als df;la sfd;la sdf;la jsdf;ljsa dkdkslsl ljsldf lskd sklsl slsl slsl s df;lj asfdl; <a
        href="#fnref-1" class="footnote-backref">&#8617;</a></p></li>
  </ol>
</div>

